package ice.dao.impl;

import ice.dao.BaseDao;
import ice.dao.util.DBUtil;
import ice.dao.util.SqlObject;
import ice.dao.util.TableRow;

import java.util.List;

/**
 * BaseDaoImpl
 * 
 * @author abiao
 */
public class BaseDaoImpl implements BaseDao {

    /**
     * 实体库
     */
    private DBUtil db = DBUtil.getEntityDB();

    /**
     * 内存库
     */
    private DBUtil mem = DBUtil.getMemDB();

    @Override
    public TableRow queryRow(String sql) {
        return mem.queryRow(sql);
    }

    @Override
    public TableRow queryRow(String sql, Object[] params) {
        return mem.queryRow(sql, params);
    }

    @Override
    public List<TableRow> query(String sql) {
        return mem.query(sql);
    }

    @Override
    public List<TableRow> query(String sql, Object[] params) {
        return mem.query(sql, params);
    }

    @Override
    public void update(String sql) throws Exception {
        mem.update(sql);
        db.update(sql);
    }

    @Override
    public void update(String sql, Object[] params) throws Exception {
        mem.update(sql, params);
        db.update(sql, params);
    }

    @Override
    public void batchUpdate(List<SqlObject> sqlObList) throws Exception {
        mem.batchUpdate(sqlObList);
        db.batchUpdate(sqlObList);
    }

}
